package com.easyadmin.pro.modules.sys.service;

import com.easyadmin.pro.modules.sys.query.DictQuery;
import com.easyadmin.pro.modules.sys.rest.DictResult;
import com.easyadmin.pro.modules.sys.vo.DictVo;
import com.easyadmin.pro.modules.sys.vo.TableSchemaInfoVo;
import com.mybatisflex.core.service.IService;
import com.easyadmin.pro.modules.sys.entity.DictEntity;

import java.io.Serializable;
import java.util.List;

/**
 *  服务层。
 *
 * @author xulin
 * @since 2024-08-19
 */
public interface IDictService extends IService<DictEntity> {

    /**
     * 生成字典
     * @param dictVo
     */
    void generatorDict(DictVo dictVo);

    /**
     * 删除字典
     * @param id
     */
    void removeDict(Serializable id);

    /**
     * 检查表中是否有数据
     * @param id
     */
    void checkDictInformation(Serializable id);

    /**
     * 删除字典数据
     * @param id
     */
    void removeData(Serializable id);

    /**
     * 查询字典
     * @param dataSourceName
     * @return
     */
    List<TableSchemaInfoVo> selectDictInformation(String dataSourceName);

    /**
     * 返回数据
     * @param dictQuery
     * @return
     */
    List<DictResult> queryPage(DictQuery dictQuery);
}
